package com.xbongbong.saas.domain.dao;

import com.xbongbong.saas.domain.entity.CallVersionEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 呼叫中心客户端版本管理 Dao
 * @author youli.chen
 * @time 2018-11-26 14:30
 */
public interface CallVersionDao {

    /**
     * 新增版本
     * @param callVersionEntity
     * @return
     */
    Integer insert(CallVersionEntity callVersionEntity);

    /**
     * 批量插入版本
     * @param list 版本列表
     */
    void batchInsert(List<CallVersionEntity> list);

    /**
     * 版本更新
     * @param callVersionEntity
     * @return
     */
    Integer update(CallVersionEntity callVersionEntity);

    /**
     * 根据ID获取详情
     * @param key
     * @return
     */
    CallVersionEntity getByKey(@Param("key") Integer key);

    /**
     * 物理删除
     * 直接删除这条记录
     * @param key    主键
     * @return 删除结果
     */
    Integer physicalDeleteByKey(@Param("key") Integer key);

    /**
     * 逻辑删除
     * 只是设置del字段为1
     * @param key    主键
     * @return 删除结果
     */
    Integer deleteByKey(@Param("key") Integer key);

    /**
     * 根据条件查询list
     * @param param
     * @return
     */
    List<CallVersionEntity> findEntitys(@Param("param") Map<String, Object> param);

    /**
     * 根据条件count数据
     * @param param
     * @return
     */
    Integer getEntitysCount(@Param("param") Map<String, Object> param);

}
